package org.bigdata.framework.core.protocol;

import java.util.HashMap;
import java.util.List;

import org.bigdata.framework.core.model.BaikeCategory;
import org.bigdata.framework.core.model.BaikeEntry;
import org.bigdata.framework.core.model.BaikeEntryRecord;
import org.bigdata.framework.core.model.BaikeEntryVersion;
import org.bigdata.framework.core.model.BaikeNews;
import org.bigdata.framework.core.model.BaikeTemplate;

/**
 * 2017-2-15 09:46:54
 * 
 * @author vimes 知识百科模块
 */
public interface IBaikeService {

	/* 知识百科管理 start */
	
	/* 知识百科分类管理 start */
	BaikeCategory saveBaikeCategory(BaikeCategory baikeCategory);
	BaikeCategory editBaikeCategory(BaikeCategory baikeCategory);
	void deleteBaikeCategory(BaikeCategory baikeCategory);
	BaikeCategory findBaikeCategory(Integer id);
	List<BaikeCategory> getBaikeCategory();
	List<BaikeCategory> getBaikeCategory(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getBaikeCategoryCount(HashMap<String, Object> queryParams);
	/* 知识百科分类管理 start */
	
	/* 知识百科模板管理 start */
	BaikeTemplate saveBaikeTemplate(BaikeTemplate baikeTemplate);
	BaikeTemplate editBaikeTemplate(BaikeTemplate baikeTemplate);
	void deleteBaikeTemplate(BaikeTemplate baikeTemplate);
	BaikeTemplate findBaikeTemplate(Integer id);
	List<BaikeTemplate> getBaikeTemplate(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getBaikeTemplateCount(HashMap<String, Object> queryParams);
	/* 知识百科模板管理 start */
	
	/* 百科词条管理 start */
	BaikeEntry saveBaikeEntry(BaikeEntry baikeEntry);
	BaikeEntry editBaikeEntry(BaikeEntry baikeEntry);
	void deleteBaikeEntry(BaikeEntry baikeEntry);
	BaikeEntry findBaikeEntry(String id);
	List<BaikeEntry> getBaikeEntry(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getBaikeEntryCount(HashMap<String, Object> queryParams);
	/* 百科词条管理 end */
	
	/* 词条版本管理 start */
	BaikeEntryVersion saveBaikeEntryVersion(BaikeEntryVersion baikeEntryVersion);
	BaikeEntryVersion editBaikeEntryVersion(BaikeEntryVersion baikeEntryVersion);
	void deleteBaikeEntryVersion(BaikeEntryVersion baikeEntryVersion);
	BaikeEntryVersion findBaikeEntryVersion(String id);
	List<BaikeEntryVersion> getBaikeEntryVersion(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getBaikeEntryVersionCount(HashMap<String, Object> queryParams);
	/* 词表版本管理 end */
	
	/* 词条浏览量管理 start */
	BaikeEntryRecord saveBaikeEntryRecord(BaikeEntryRecord baikeEntryRecord);
	BaikeEntryRecord editBaikeEntryRecord(BaikeEntryRecord baikeEntryRecord);
	void deleteBaikeEntryRecord(BaikeEntryRecord baikeEntryRecord);
	BaikeEntryRecord findBaikeEntryRecord(String id);
	List<BaikeEntryRecord> getBaikeEntryRecord(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getBaikeEntryRecordCount(HashMap<String, Object> queryParams);
	/* 词条浏览量管理 end */
	
	/* 百科新闻 start */
	BaikeNews saveBaikeNews(BaikeNews baikeNews);
	BaikeNews editBaikeNews(BaikeNews baikeNews);
	void deleteBaikeNews(BaikeNews baikeNews);
	BaikeNews findBaikeNews(String id);
	List<BaikeNews> getBaikeNews(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getBaikeNewsCount(HashMap<String, Object> queryParams);
	/* 百科新闻 end */
	/* 知识百科管理 end */
	
	
}
